Additive manufacturing (AM) is a manufacturing process that incrementally accretes material onto an object. AM technologies include those that involve extruding a material from a small nozzle; fusing or solidifying a material in a tank of power or liquid; or stacking and gluing cut layers (e.g., cut layers of paper), etc. A slicer is software that converts a 3D description of an object into commands that control a 3D printer (e.g., AM device). In contrast, conventional milling is considered “subtractive” in that it involves removal of material to form the desired shape. The same is also true for bulk-forming techniques, such as casting, forging, and injection molding, which are not accretive but form an entire shape at once.
Users often wish to print three-dimensional (3D) shapes having 3D infill patterns, which are patterns that fill the inside of the 3D shape (e.g., checkerboard of cubes, honeycomb, etc.). Further, users often wish to print 3D shapes having texture patterns, which are raised patterns (e.g., small nubbins) applied to an external surface of the 3D shape (e.g., to improve the grip, to change the fluid flow across the surface, etc.). Additionally or alternatively, users often want the 3D infill patterns and/or texture patterns to have specific bulk properties (e.g., density, tensile strength, etc.)
However, specifying 3D infill patterns and texture patterns in a computer aided design (CAD) can be difficult because the user must specify every detail instead of specifying a high-level intent. Further, because every detail has been specified, the resulting files that are sent to the slicer for printing tend to be very large. Further, generation of these files is slicer specific, and thus re-generation must take place for different slicers. Further still, the user must also take into account the print parameters of 3D infill patterns (even well-known 3D infill patterns), the printing material, and the hardware (i.e., mechanical components) of the 3D printer in order to print a 3D shape with specific bulk properties. Regardless, users are still interested in printing 3D shapes with 3D infill patterns and/or texture patterns.